home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / BlitzBasic / TRITONBLITZ / Demos / toolmanager1a.bb2 < prev    next >
Text File  |  1998-06-24  |  6KB  |  213 lines

  1. ;/*
  2. ; *  Triton - The object oriented GUI creation system For the AMIGA
  3. ; *  Written by Stefan Zeiger in 1993-1995
  4. ; *
  5. ; *  (c) 1993-1995 by Stefan Zeiger
  6. ; *  You are hereby allowed To Use this source OR parts
  7. ; *  of it For creating programs For AmigaOS which Use the
  8. ; *  Triton GUI creation system. All other rights reserved.
  9. ; *
  10. ; *  Toolmanager1.c - Looks like the original ToolManager
  11. ; *
  12. ; */
  13.  
  14. ; useful Runtime-Error-Routine which closes all windows if a error
  15. ; appears. So you don't need to restart your machine every time :-)
  16.  
  17. NoCli:WBStartup
  18.  
  19. SetErr
  20.  
  21.   ErrFail
  22.   If project.l Then TR_CloseProject_ project
  23.   If application.l Then TR_DeleteApp_ application
  24.   End
  25.  
  26. End SetErr
  27.  
  28. INCLUDE "blitz2:bbincludes/libraries/triton.bb2"
  29.  
  30. ; This is an example on how to use DBaselib for TRITON Listviews
  31. ; DBaselib is (W) by Graham .A. Kennedy (gakennedy@cix.compulink.co.uk)
  32. ; and (C) by ACID.
  33. ; For more information about DBaseLib read its documentation.
  34.  
  35. NEWTYPE .LVItem
  36.  
  37.   text.b[20]
  38.  
  39. End NEWTYPE
  40.  
  41. #text = 20    ; maxlen for the LV-Text-Lines.
  42.  
  43. Dim cycle_entries.l(8)
  44. DEFTYPE .LVItem LVNodes
  45.  
  46. ok.b=DBInit (1,1,1,LVNodes,20)      ; initialize Database to LV-Text
  47.  
  48. If ok<>1                            ; if it fails, stop the program
  49.  
  50.   r=Request("Error","Could not create database","End")
  51.   End
  52.  
  53. EndIf
  54.  
  55. InitTagList 1,200                   ; init Window-Taglist
  56. InitTagList 2,10                    ; init application-taglist
  57.  
  58. cycle_entries(1)=Null("Exec")
  59. cycle_entries(2)=Null("Image")
  60. cycle_entries(3)=Null("Sound")
  61. cycle_entries(4)=Null("Menu")
  62. cycle_entries(5)=Null("Icon")
  63. cycle_entries(6)=Null("Docs")
  64. cycle_entries(7)=Null("Access")
  65. cycle_entries(8)=0                  ; last one MUST be zero!
  66.  
  67.   StrToFls "2024View",LVNodes\text,#text      : DBadd 1,LVNodes
  68.   StrToFls "Add to archive",LVNodes\text,#text: DBadd 1,LVNodes
  69.   StrToFls "DeleteTool",LVNodes\text,#text    : DBadd 1,LVNodes
  70.   StrToFls "Edit text",LVNodes\text,#text     : DBadd 1,LVNodes
  71.   StrToFls "Env",LVNodes\text,#text           : DBadd 1,LVNodes
  72.   StrToFls "Exchange",LVNodes\text,#text      : DBadd 1,LVNodes
  73.   StrToFls "Multiview",LVNodes\text,#text     : DBadd 1,LVNodes
  74.  
  75. Use TagList 2
  76.  
  77. AddTags #TRCA_Name,Null("ToolManagerGUIDemo1")
  78. AddTags #TRCA_LongName,Null("ToolManager-GUI Demo 1")
  79. AddTags #TRCA_Info,Null("Looks like the original")
  80. AddTags #TAG_END,0
  81.  
  82. Use TagList 1
  83.  
  84. AddTags !WindowID{1},!WindowPosition{#TRWP_BELOWTITLEBAR}
  85.  
  86. ; to activate the quickhelp function, use the macro
  87. ; !QuickHelpOn{true|false}
  88. ; you can change this value by setting the appropriate
  89. ; value with TR_SetAttribute_
  90.  
  91. AddTags !WindowTitle{Null("ToolManager GUI demo 1")},!QuickHelpOn{True}
  92. AddTags !WindowFlags{#TRWF_NOSIZEGADGET OR #TRWF_NODELZIP OR #TRWF_NOZIPGADGET OR #TRWF_NOESCCLOSE}
  93. AddTags !WindowBackfillNone
  94.  
  95. AddTags !VertGroupA
  96. AddTags   !Space
  97. AddTags   !HorizGroupAC
  98. AddTags     !Space
  99. AddTags       !TextID{Null("_Object Type"),1}
  100. AddTags       !Space
  101. AddTags       !CycleGadget{&cycle_entries(1),0,1}
  102. AddTags       !Space
  103. AddTags     !EndGroup
  104. AddTags   !Space
  105.  
  106. AddTags   !HorizGroupAC
  107. AddTags     !Space
  108. AddTags     !VertGroupAC
  109. AddTags       !CenteredTextID{Null("Object List"),2}
  110. AddTags       !Space
  111. AddTags       !ListSSCN{DBlistaddr(1),2,0,0}
  112. AddTags     !EndGroup
  113.  
  114. AddTags     !Space
  115. AddTags     !VertGroupA
  116. AddTags       !TextN{Null("")}
  117. AddTags       !Space
  118. AddTags       !Button{Null("Top"),3},!QuickHelp{Null("Move to the top of the list")}
  119.  
  120. ; the quickhelpstring must follow the button immediately!
  121.  
  122. AddTags       !Space
  123. AddTags       !Button{Null("Up"),4},!QuickHelp{Null("Move up one item")}
  124. AddTags       !Space
  125. AddTags       !Button{Null("Down"),5},!QuickHelp{Null("Move down one item")}
  126. AddTags       !Space
  127. AddTags       !Button{Null("Bottom"),6},!QuickHelp{Null("Move to the last item")}
  128. AddTags       !Space
  129. AddTags       !Button{Null("So_rt"),7},!QuickHelp{Null("Sort alphabetically")}
  130. AddTags     !EndGroup
  131. AddTags     !Space
  132. AddTags   !EndGroup
  133. AddTags   !Space
  134. AddTags   !HorizGroupEA
  135. AddTags     !Space
  136. AddTags     !Button{Null("_New..."),8},!QuickHelp{Null("Create new item")}
  137. AddTags     !Space
  138. AddTags     !Button{Null("_Edit..."),9},!QuickHelp{Null("Edit highlited item")}
  139. AddTags     !Space
  140. AddTags     !Button{Null("Co_py"),10},!QuickHelp{Null("Copy highlited item")}
  141. AddTags     !Space
  142. AddTags     !Button{Null("Remove"),11},!QuickHelp{Null("Remove highlited item")}
  143. AddTags     !Space
  144. AddTags   !EndGroup
  145.  
  146. AddTags   !Space
  147. AddTags   !HorizGroupEA
  148. AddTags     !Space
  149. AddTags     !Button{Null("_Save"),12},!QuickHelp{Null("Save list")}
  150. AddTags     !Space
  151. AddTags     !Button{Null("_Use"),13},!QuickHelp{Null("Use list")}
  152. AddTags     !Space
  153. AddTags     !Button{Null("_Test"),14},!QuickHelp{Null("Test list")}
  154. AddTags     !Space
  155. AddTags     !Button{Null("_Cancel"),15},!QuickHelp{Null("Cancel changes")}
  156. AddTags     !Space
  157. AddTags   !EndGroup
  158. AddTags   !Space
  159. AddTags !EndGroup
  160. AddTags #TAG_END,0
  161.  
  162. ; ----------------------------------------------------------------
  163. ;         Here starts the main routine
  164. ; ----------------------------------------------------------------
  165.  
  166. Use TagList 2
  167.  
  168. application.l=TR_CreateApp_(TagList)
  169.  
  170. If (application)
  171.  
  172.   Use TagList 1
  173.  
  174.   project.l=TR_OpenProject_(application,TagList)
  175.  
  176.   If (project)
  177.     user_closed=0
  178.  
  179.       While (user_closed=0)
  180.  
  181.         TR_Wait_ application,0
  182.  
  183.         *trmsg.TR_Message=TR_GetMsg_(application)
  184.  
  185.         While (*trmsg)
  186.  
  187.           If (*trmsg\trm_Project=project)
  188.             Select *trmsg\trm_Class
  189.  
  190.               Case #TRMS_CLOSEWINDOW
  191.                 user_closed=True
  192.               End Select
  193.           EndIf
  194.  
  195.           TR_ReplyMsg_ *trmsg
  196.  
  197.           *trmsg=TR_GetMsg_(application)
  198.         End While
  199.       End While
  200.     TR_CloseProject_ project
  201.   Else
  202.     NPrint "Unable to create the project"
  203.   EndIf
  204.  
  205.     TR_DeleteApp_ application
  206.  
  207. Else
  208.   NPrint "Unable to create application"
  209. EndIf
  210.  
  211. End
  212.  
  213.